#Region "Using Directives"

Imports System

#End Region

Namespace C4F.DevKit.Bluetooth.ObjectExchange

    ''' <summary>
    ''' ObjectExchange Header types.
    ''' </summary>
    Public Enum ObjectExchangeHeaderType As Byte
        ''' <summary>
        ''' Count header: Number of objects (used by Connect).
        ''' Value: Four byte unsigned integer in network byte order (high byte
        ''' first).
        ''' </summary>
        Count = 192

        ''' <summary>
        ''' Name header: Name of the object (often a file name).
        ''' Value: Byte sequence of null terminated Unicode text string.
        ''' </summary>
        Name = 1

        ''' <summary>
        ''' Type header: Type of object - e.g. text, html, binary, manufacturer
        ''' specific.
        ''' Value: Byte sequence of null terminated ASCII text.
        ''' </summary>
        Type = 66

        ''' <summary>
        ''' Length header: The length of the object in bytes.
        ''' Value: Four byte unsigned integer in network byte order (high byte
        ''' first).
        ''' </summary>
        Length = 195

        ''' <summary>
        ''' Time header: Date/time stamp – ISO 8601 version - preferred.
        ''' Value: Byte sequence.
        ''' </summary>
        TimeISO = 68

        ''' <summary>
        ''' Time header: Date/time stamp – 4 byte version (for compatibility
        ''' only).
        ''' Value: Four byte unsigned integer in network byte order (high byte
        ''' first).
        ''' </summary>
        Time4ByteVersion = 196

        ''' <summary>
        ''' Description header: Text description of the object.
        ''' Value: Byte sequence of Null terminated Unicode text string.
        ''' </summary>
        Description = 5

        ''' <summary>
        ''' Target header: Name of service that operation is targeted to.
        ''' Value: Byte sequence.
        ''' </summary>
        Target = 70

        ''' <summary>
        ''' HTTP header: An HTTP 1.x header.
        ''' Value: Byte sequence.
        ''' </summary>
        HTTP = 71

        ''' <summary>
        ''' Body header: A chunk of the object body.
        ''' Value: Byte sequence.
        ''' </summary>
        Body = 72

        ''' <summary>
        ''' End of Body header: The final chunk of the object body.
        ''' Value: Byte sequence.
        ''' </summary>
        EndOfBody = 73

        ''' <summary>
        ''' Who header: identifies the OBEX application, used to tell if talking
        ''' to a peer.
        ''' Value: Byte sequence.
        ''' </summary>
        Who = 74

        ''' <summary>
        ''' Connection Id header: An identifier used for OBEX connection 
        ''' multiplexing.
        ''' Value: Four byte unsigned integer in network byte order (high byte
        ''' first).
        ''' </summary>
        ConnectionID = 203

        ''' <summary>
        ''' Application Parameters header: Extended application request and 
        ''' response information.
        ''' Value: Byte sequence.
        ''' </summary>
        ApplicationParameters = 76

        ''' <summary>
        ''' Object Class header: OBEX Object class of object.
        ''' Value: Byte sequence.
        ''' </summary>
        ObjectClass = 79

        ''' <summary>
        ''' Authentication Challenge header: Authentication digest-challenge.
        ''' Value: Byte sequence.
        ''' </summary>
        AuthenticationChallenge = 77

        ''' <summary>
        ''' Authentication Response header: Authentication digest-response.
        ''' Value: Byte sequence.
        ''' </summary>
        AuthenticationResponse = 78

        ''' <summary>
        ''' Obex Version Number field: The version of the OBEX protocol.
        ''' This header must be used for Connect operation.
        ''' Value: 1 byte.
        ''' </summary>
        ObexVersionNumber = 48

        ''' <summary>
        ''' Flags field: Connect flags. This header must be used for Connect
        ''' operation.
        ''' Value: 1 byte.
        ''' </summary>
        Flags = 49

        ''' <summary>
        ''' Maximum Obex Packet Length field:  Maximum size OBEX packet that
        ''' the device can receive. 
        ''' This header must be used for Connect operation.
        ''' Value: Two byte unsigned integer in network byte order (high byte
        ''' first).
        ''' </summary>
        MaxObexPacketLength = 50

        ''' <summary>
        ''' Constants field: The constants byte is reserved and must be set to
        ''' zero by sender and ignored by receiver.
        ''' This header is used in the File Transfer Profile.
        ''' Value: 1 byte.
        ''' </summary>
        Constants = 51

    End Enum

End Namespace
